2024年8月にリリースされたSnowflakeの新機能・変更点のまとめ #SnowflakeDB
2024年8月にリリースされたSnowflakeの新機能・変更点のまとめ記事になります。
※注意事項:本記事ではすべての情報についての記述はせず、特筆すべきだと感じた情報だけピックしております。基本的には以下の情報を参考にしておりますので、全ての最新情報を確認したい場合は下記のURLからご確認ください。
August 30, 2024 — Query attribution costs
ACCOUNT USAGE スキーマに QUERY_ATTRIBUTION_HISTORY ビューが追加されました。このビューでは、過去 1 年間にアカウント内のウェアハウスで実行された特定のクエリのコストを算出できます。ビューには、ウェアハウス名、QUERY_TAG、ユーザー名なども含まれるため指定の属性ごとにコストを算出することも可能です。
詳細は以下をご参照ください。
また、以下の記事でもサンプルクエリとあわせて詳しく紹介されておりますので、あわせてご参照ください。
August 29, 2024 — New multilingual embedding models available in Snowflake Cortex AI
Snowflake Cortex LLM 関数で利用可能な EMBED_TEXT_1024 関数で指定可能なモデルとして multilingual-e5-large
を指定できるようになりました。
August 29, 2024 — Cortex Analyst: New regions
以下のクラウドリージョンで Cortex Analyst が利用できるようになりました。
- AWS ap-northeast-1 (Tokyo)
- Azure West Europe (Netherlands)
August 28, 2024 — Snowflake ML Functions: Top Insights Preview Update
現在パブリックプレビュー段階の Snowflake Cortex ML ベース関数の Top Insights がアップデートされ、他の ML 関数に近い方法で実行できるようになりました。
具体的には、これまでは引数としてディメンション名と関連するカテゴリ列間のマッピングを表す OBJECT などの指定が必要でしたが、アップデートにより TOP_INSIGHTS クラスのインスタンスを作成後、GET_DRIVERS メソッドを実行するという手順に変わりました。それぞれ既存の時系列予測のように実行できます。
2024/9/4 時点では日本語版のドキュメントは更新されていないので、詳細は英語版のドキュメントをご確認ください。
August 26, 2024 — Easier Training of Forecasting Models from Real-World Data
Snowflake Cortex ML ベース関数の FORECAST に前処理機能が追加され、トレーニング データに時間間隔の欠落、重複、または不整合がある場合でも、予測モデルをトレーニングできるようになりました。以下は具体的な機能の一部です。
- この関数でのモデルのトレーニング時は、トレーニングデータの時間間隔(年、月、日 など)が自動で推測されます。ただし、モデル構築時にこの時間間隔を推測できなかったり、誤って推測した場合に、間隔を手動で指定できます
- 応答変数の欠損値の補完について
- 応答変数が合計による集計の場合、欠損値はゼロとして補完されます
- その他の場合は近くの値から線形補間が行われます
- 特徴値(特徴量)の欠損について
- 補完は行わず、そのままNULL として扱われます
- モデルのトレーニング時には、NULL は無視されるため、トレーニングに影響を与えません。(欠損値があっても処理の続行が可能)
詳細は以下をご参照ください。
August 26-30, 2024 — 8.32 Release Notes
SQL updates
VARIANT、OBJECT または ARRAY 型のカラムに対して有効な IPv4 アドレスを検索できる SEARCH_IP が利用できるようになりました。下図のように使用でき CIDR 範囲を含む IP アドレスでの検索も可能です。
詳細は以下をご参照ください。
August 20, 2024 — Differential Privacy — Preview
Differential Privacy(差分プライバシー)がパブリックプレビューとなりました。
テーブルやビューにプライバシーポリシーを設定し、分析クエリの結果に数学的なノイズを追加することで、個人のプライバシーを保護することができます。これにより特定の個人やエンティティがデータセットから識別されるリスクを低減できます。
詳細は以下をご参照ください。
August 19-21, 2024 — 8.31 Release Notes
Iceberg tables: Support for time travel queries using third-party engines — General availability
Apache Spark などのサードパーティのコンピューティング エンジンを使用する際の Snowflake 管理の Iceberg テーブルに対するタイムトラベルクエリのサポートが一般提供となりました。
詳細は以下をご参照ください。
August 14, 2024 — Cortex Analyst –— Preview
Snowflake 内の構造化データに対して、自然言語で質問し回答を得るアプリケーションを作成する際に使用できる Cortex Analyst がパブリックプレビューとなりました。
国内であれば AWS Tokyo を含む以下に記載のクラウドリージョンのアカウントで使用可能です。
こちらの機能については以下の記事も紹介されていますので、あわせてご参照ください。
August 11-14, 2024 — 8.30 Release Notes
Full-text search - Preview
Snowflake における全文検索機能がパブリックプレビューとなりました。VARIANT、OBJECT、および ARRAY 型のカラムに対して SEARCH または SEARCH_IP の検索関数を使用することで文字データ (テキスト) と IPv4 アドレスを検索できます。
SEARCH 関数による検索時の特徴として、検索時はテキスト アナライザーによってテキストがトークンに分割されます。検索時は、検索したい用語と対象データの両方からトークンが抽出され、検索したい用語から抽出されたトークンが、指定の列から抽出されたトークンと完全に一致する場合、TRUE を返します。
アナライザーの種類やトークン化の仕組みは以下に記載があります。
全文検索については以下をご参照ください。
UNDROP command: Support for restoring objects using ID
UNDROP コマンド実行時にデータベース・スキーマ・テーブルのオブジェクト ID を指定できるようになりました。
同じ名称のテーブルを何度か作り直したりした場合、直近のテーブルから復元されるため、場合によっては一度テーブルを復元し RENAME した上で再度 UNDROP するなどの手順が必要でした。今回のアップデートで、テーブル ID を使用して特定のテーブルを復元できるようになったため、この手順が簡素化されます。
詳細は以下で紹介されていますので、ぜひご覧ください。
August 08, 2024 — Cross-region inference for Snowflake AI & ML features — General Availability
推論リクエストを現在のアカウントリージョンとは異なるリージョンで処理できるようになる Cross-region inference for Snowflake AI & ML features が一般提供となりました。これによりアカウントのあるクラウドリージョンでサポートされていない LLM 機能の推論を行えます。
例えば、2024/9/4 時点において AWS アジア太平洋(東京)リージョンの Snowflake アカウントでは LLM 関数の一つである COMPLETE のモデルとして snowflake-arctic
を使用できません。
アカウントの CORTEX_ENABLED_CROSS_REGION パラメータを変更することで指定のリージョンに対してクロスリージョン推論を有効化できます。
ALTER ACCOUNT SET CORTEX_ENABLED_CROSS_REGION = 'AWS_US';
パラメータ値は以下で確認可能です。
SHOW PARAMETERS IN ACCOUNT;
SELECT * FROM TABLE(RESULT_SCAN(-1)) where $1 like 'CORTEX%';
パラメータを変更後、再度 AWS 東京 リージョンのアカウントから同じモデル指定し COMPLETE 関数を実行すると結果が出力されます。
異なるリージョンで処理を行うことになるため、推論のリクエストに必要なデータは、以下のように移動する点にご注意点ください。
- ソースリージョンと宛先リージョンの両方が AWS 内にある場合、データは AWS グローバルネットワーク内に留まる
- リージョンが異なるクラウド プロバイダー上にある場合、データは mTLS を使用してパブリック インターネットを通過する
August 02, 2024 — Custom UI in Streamlit in Snowflake –— General Availability
Streamlit in Snowflake でカスタムUIとして以下のサポートが一般提供となりました。
- st.markdown で
unsafe_allow_html=True
を使用したカスタム HTML および CSS の使用 - st.components.v1.html を使用した iframe 内での HTML、CSS、および JavaScript の使用
これによりフロントエンドの動作をカスタマイズできます。ただしセキュリティ上の理由から、スクリプト、スタイル、フォントや iframe 埋め込みなど外部ドメインからのコードのロードはブロックされます。
August 07-08, 2024 — 8.29 Release Notes
Access to Git repositories from Snowflake — General availability
Snowflake 内から Git リポジトリへのアクセスが一般提供となりました。
GitHub などの Git リポジトリに Snowflake からアクセスし、Git リポジトリステージというスキーマレベルのオブジェクトにリポジトリをクローンすることが可能です。これにより Git リポジトリ上のファイルのフェッチから参照、実行までが可能となります。
詳細は以下の記事をご参照ください。
August 02, 2024 — Snowsight Release Notes
Cortex Search Service –— Preview
Snowsight 上で Cortex Search Service を作成できる機能がプレビューとなりました。
Cortex Search Service では検索拡張生成(RAG)を構成するためのベクトル化やベクトルデータベースなどを内包し COMPLETE などの LLM 関数を使用する際に必要なコンテキストを提供します。
以下ではコマンドベースで Cortex Search について紹介されていますので、あわせてご参照ください。
August 01, 2024 — Support for Streamlit 1.35.0 in Streamlit in Snowflake
Streamlit in Snowflake の Streamlit ライブラリのバージョンとして 1.35.0 がサポートされました。サポートされるバージョンの一覧は以下をご参照ください。
August 01, 2024 — Snowpark Container Services release notes
Snowpark Container Services の利用が以下のステータスとなりました。
- すべての商用 AWS リージョンアカウントで一般提供
- すべての商用 Azure リージョンアカウントでプレビュー
Google Cloud アカウントでは、間もなくプライベートプレビューとのことです。
August 01, 2024 — Snowsight Release Notes
Schema detection and visual column mapping for loading files to existing tables in Snowsight –— Preview
Snowsight から既存のテーブルにファイルをロードする際に、ソース ファイルとターゲット テーブル間の列マッピングを視覚化できるようになりました。
デフォルトではカラム名によるマッチングが行われるため、カラム名が一致しない場合に、下図のようにロード先カラムの割り当てが行えるようになります。
July 31, 2024 — Context functions and row access policies in Streamlit in Snowflake –— General Availability
Streamlit in Snowflake におけるコンテキスト関数と行アクセス ポリシーの利用が一般提供となりました。これによりアプリケーションを実行するユーザーコンテキストにより処理内容や表示内容を動的に制御することが可能となります。
以下の記事では CURRENT_USER 関数を使用した本機能の利用イメージが詳しく紹介されていますので、あわせてご参照ください。
注意点として、Streamlit in Snowflake アプリは所有者権限で実行されるため CURRENT_ROLE を使用する行アクセス ポリシーは使用できません。
Behavior Change Log
2024_07 バンドルが提供開始 ※デフォルトは無効化
8.32(2024/8/26 - 2024/8/30 リリース)で、2024_07 バンドルが提供開始となりました。先に挙動を確かめたい場合には手動でバンドルを有効化してテスト可能です。
このバンドルは、2024年9月のリリースでデフォルトで有効化される予定となっています。
2024_06 バンドルがデフォルトで有効化
8.32(2024/8/26 - 2024/8/30 リリース)で、2024_06 バンドルがデフォルトで有効化されました。このバンドルは、2024年9月のリリースで一般的に有効化される予定となっています。
2024_05 バンドルが一般的に有効化
8.32(2024/8/26 - 2024/8/30 リリース)で、2024_05 バンドルが一般的に有効化されました。
おまけ:Modern Data Stack全般の最新情報
Snowflakeも含め、Modern Data Stack 全般の最新情報についても、定期的にブログにまとめて投稿されています!こちらもぜひご覧ください。